package com.aiti.lulian.bo;

import com.aiti.base.core.base.dto.PageDto;
import com.aiti.lulian.annotates.AddGroup;
import com.aiti.lulian.annotates.EditGroup;
import com.aiti.lulian.annotates.QueryGroup;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShangJiFollowUpRecordBo extends PageDto {

    /** 主键 */
    @NotBlank(message = "主键不能为空",groups = {EditGroup.class})
    private String baseId;

    /** 跟进内容 */
    private String content;

    /**
     * 跟进方式
     * 1:电话;
     * 2:微信;
     * 3:登门拜访;
     * 4:其他
     * */
    @NotNull(message = "跟进方式不能为空",groups = {AddGroup.class, EditGroup.class})
    private String followUpType;

    /** 跟进时间 */
    @NotNull(message = "请选择跟进时间",groups = {AddGroup.class, EditGroup.class})
    private Date followUpTime;

    /** 联系人 */
    @NotBlank(message = "联系人不能为空",groups = {AddGroup.class, EditGroup.class})
    private String linkMan;

    /**
     * 跟进阶段
     * 1:电话预约;
     * 2:客户回访;
     * 3:已送样品;
     * 4:商务谈判中;
     * 5:已签单
     */
    private String followUpStage;

    /**
     * 客户/询盘ID
     * 如果type是1，这里就是公司的ID,如果是2就商机Id
     */
    @NotBlank(message = "客户/询盘ID不能为空",groups = {AddGroup.class, EditGroup.class})
    private String customerId;

    /** 类型(1:客户；2:询盘) */
    @NotBlank(message = "记录类型不能为空",groups = {AddGroup.class, EditGroup.class})
    private String recordType;

    /** 公司ID */
    @NotBlank(message = "公司信息不能为空",groups = {AddGroup.class, EditGroup.class})
    private String enterpriseId;

    /** 创建人ID */
    @NotBlank(message = "创建人信息不能为空",groups = {AddGroup.class, EditGroup.class})
    private String baseCreateBy;

    /** 下次跟进时间 */
    private Date nextFollowUpTime;

    private List<String> ids;

    private String userId;

    private boolean enterpriseAdmin;

    private String deptPermission;

    private boolean systemAdmin;

    private String deptId;

    private List<String> deptList;

}
